class Animal {
    private String name;
    private String species;
    private String breed;
    private double price;

    public Animal(String name, String species, String breed, double price) {
        this.name = name;
        this.species = species;
        this.breed = breed;
        this.price = price;
    }

    public void eat() {
        System.out.println(name + " is eating.");
    }

    public void sleep() {
        System.out.println(name + " is sleeping.");
    }

    public void play() {
    }

    public void call() {
    }
}

class Cat extends Animal {
    public Cat(String name, String species, String breed, double price) {
        super(name, species, breed, price);
    }

    @Override
    public void play() {
        System.out.println(getName() + " is playing.");
        call();
    }

    @Override
    public void call() {
        System.out.println(getName() + " is meowing.");
    }
}

class Dog extends Animal {
    public Dog(String name, String species, String breed, double price) {
        super(name, species, breed, price);
    }

    @Override
    public void call() {
        System.out.println(getName() + " is barking.");
    }
}

public class Main {
    public static void main(String[] args) {
        // 实例化两个小猫对象
        Cat cat1 = new Cat("Tommy", "Cat", "Persian", 500);
        Cat cat2 = new Cat("Luna", "Cat", "Siamese", 450);

        // 实例化两个小狗对象
        Dog dog1 = new Dog("Buddy", "Dog", "Labrador", 800);
        Dog dog2 = new Dog("Max", "Dog", "Golden Retriever", 750);
    }
}